package com.example.prdragdrop2;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;

import static java.lang.Thread.*;


//Implementamos directamente el Listener a la clase
public class MainActivity extends Activity implements View.OnTouchListener{
    //Definimos el marco por el cual podemos arrastrar la imagen
    private android.view.ViewGroup marco;
    //Definimos la imagen que vasmo arrastrar
    private android.widget.ImageView  imagen;
    //Variables para centrar la imagen bajo el dedo
    private int xDelta;
    private int yDelta;

    private int variable1;
    private int resultado1;


    private TextView etiquetaTexto  ;
    private TextView etiquetaTexto2 ;
    private TextView etiquetaTexto3  ;
    private TextView etiquetaLlegada  ;

    private ImageView dibujo1 ;

    private int llegado = 0  ;




    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //Relacionamos
        marco = (ViewGroup)findViewById(R.id.marco);
        //Creamos la imagen
        imagen = new ImageView(this);
        //Señalamos la imagen a mostrar
        imagen.setImageResource(R.drawable.tomate6);
        //Añadimos el Listener de la clase
        imagen.setOnTouchListener(this);
        //Añadimos la imagen al marco
        marco.addView(imagen);


        dibujo1 = new ImageView(this);
        //Señalamos la imagen a mostrar
        dibujo1.setImageResource(R.drawable.tat1);


        variable1 = 5 ;
        resultado1 = variable1 * 2  ;



//        etiquetaTexto = (TextView) findViewById(R.id.coordinates);
//        etiquetaTexto.setText("BOTON PULSADO!!!");


//        etiquetaTexto2 = (TextView) findViewById(R.id.nuevoTexto);
//        etiquetaTexto2.setText(variable1 + " por 2: " + resultado1 );
//                etiquetaTexto2.setText("SUPERADO");
//                etiquetaTexto2.setText( + resultado);


        etiquetaTexto3 = (TextView) findViewById(R.id.texto3);

        etiquetaLlegada = (TextView) findViewById(R.id.etiquetaLlegada);
    }




    //Al tocar la pantalla...
    public boolean onTouch(View view, MotionEvent event) {

//        imagen.setImageResource(R.drawable.tomate6);


        //Recogemos las coordenadas del dedo
        final int X = (int) event.getRawX();
        final int Y = (int) event.getRawY();

        etiquetaTexto3.setText("( " + X + " , " + Y + " )");
        etiquetaLlegada.setText("EL TOMATE LLEGO A CASA = " + llegado);


//            etiquetaLlegada.setText("TOMATE EN CASA!!!"
//            etiquetaLlegada.setBackgroundColor(#28148d);
        if (X>290 &&  Y>450 &&  X< 365 &&  Y< 495 )

        {
            llegado = 1 ;
            imagen.setImageResource(R.drawable.tomasonri4);
        }
        else
        {
            llegado = 0  ;
            imagen.setImageResource(R.drawable.tomate6);
        }
//
//        else
//
//        { etiquetaLlegada.setText("DONDE ANDARA???"); };


        //Dependiendo de la accion recogida..
        switch (event.getAction() & MotionEvent.ACTION_MASK) {
            //Al tocar la pantalla
            case MotionEvent.ACTION_DOWN:
                //Recogemos los parametros de la imagen que hemo tocado
                RelativeLayout.LayoutParams Params =
                        (RelativeLayout.LayoutParams) view.getLayoutParams();
                xDelta = X - Params.leftMargin;
                yDelta = Y - Params.topMargin;
                break;
            case MotionEvent.ACTION_UP:
                //Al levantar el dedo simplemento mostramos un mensaje
                Toast.makeText(this, "Soltamos", Toast.LENGTH_LONG).show() ;


//                //Pause for 4 seconds
//                try {
//                    Thread.sleep(4000);
//                } catch (InterruptedException e) {
//                    e.printStackTrace();
//                }
                if (llegado == 0 )
                {
                    imagen.setImageResource(R.drawable.tat3) ;
                }


                break;
            case MotionEvent.ACTION_POINTER_DOWN:
                //No hace falta utilizarlo
                break;
            case MotionEvent.ACTION_POINTER_UP:
                //No hace falta utilizarlo
                break;
            case MotionEvent.ACTION_MOVE:
                //Al mover el dedo vamos actualizando
                //los margenes de la imagen para
                //crear efecto de arrastrado
                RelativeLayout.LayoutParams layoutParams =
                        (RelativeLayout.LayoutParams) view.getLayoutParams();
                layoutParams.leftMargin = X - xDelta;
                layoutParams.topMargin = Y - yDelta;
                //Qutamos un poco de margen para
                //que la imagen no se deforme
                //al llegar al final de la pantalla y pueda ir más allá
                //probar también el codigo omitiendo estas dos líneas
                layoutParams.rightMargin = -50;
                layoutParams.bottomMargin = -50;
                //le añadimos los nuevos
                //parametros para mover la imagen
                view.setLayoutParams(layoutParams);
                break;
        }
        //Se podría decir que 'dibujamos'
        //la posición de la imagen en el marco.
        marco.invalidate();
        return true;
    }




}
